package com.sims.service.impl;

import java.util.List;

import com.sims.dao.ISimsCourseDao;
import com.sims.dao.impl.SimsCourseDaoImp;
import com.sims.eo.SimsCourse;
import com.sims.service.ICourseService;

public class CourseServiceImp implements ICourseService {
	ISimsCourseDao simsCourseDao = new SimsCourseDaoImp();

	@Override
	public List<SimsCourse> getAllSimsCourse() {
		return simsCourseDao.getAllSimsCourse();
	}

	@Override
	public boolean deletSimsCourseById(Long id) {
		return simsCourseDao.deletSimsCourseById(id);
	}

	@Override
	public SimsCourse getSimsCourseById(Long id) {
		return simsCourseDao.getSimsCourseById(id);
	}

	@Override
	public SimsCourse getSimsCoursebyCourseName(String courseName) {
		return simsCourseDao.getSimsCoursebyCourseName(courseName);
	}

	@Override
	public boolean updateSimsCourse(SimsCourse course) {
		SimsCourse coursedb = getSimsCourseById(course.getId());
		int count = (int) simsCourseDao.getRowCountByCourseName(course
				.getCourseName());
		// 数据库不存在或者不是本条数据
		if (count < 1
				|| (count >= 1 && course.getCourseName().equals(
						coursedb.getCourseName()))) {
			if (course.getCourseCode() != null) {
				coursedb.setCourseCode(course.getCourseCode());
			}
			if (course.getCourseName() != null) {
				coursedb.setCourseName(course.getCourseName());
			}
			if (course.getPeriod() != null) {
				coursedb.setPeriod(course.getPeriod());
			}
			if (course.getCredit() != null) {
				coursedb.setCredit(course.getCredit());
			}
			return simsCourseDao.updateSimsCourse(coursedb);
		}

		return false;
	}

	@Override
	public List<SimsCourse> getAllSimsCourse(int pageNo, int pageSize) {
		return simsCourseDao.getAllSimsCourse(pageNo, pageSize);
	}

	@Override
	public long getRowCount() {
		return simsCourseDao.getRowCount();
	}

	@Override
	public long getRowCountByCourseName(String courseName) {
		return simsCourseDao.getRowCountByCourseName(courseName);
	}

	@Override
	public long createCourse(SimsCourse course) {
		long id = 0;
		int count = (int) simsCourseDao.getRowCountByCourseName(course
				.getCourseName());
		if (count < 1) {
			return simsCourseDao.createCourse(course);
		}
		return id;
	}
}
